#include<iostream>

using namespace std ;

//哈希表中取模的那个书要是一个质数。这里面因为输出的数是 0 ~ 100000的 ，我们去比十万大的最小的质数100003
const int maxn = 100003 ;

//哈希表要开一个槽，还要拉一个链
//h就是每条链的头结点，e是存放每个结点的值的 ， ne是存放每个结点的下一个结点地址的
int h[maxn] , e[maxn] , ne[maxn] , idx ;

//输入的数据在 10 ^ -9 ~ 10 ^ 9 . 把他映射到 10 ^ 5
void insert(int x) {
    //先计算一下映射的地址
    int k = (x % maxn + maxn) % maxn ; // 保证结果是一个正数 ， k 就是哈希值
    //把当前点插到 h[k] 上 ， 头插法
    e[idx] = x ;
    ne[idx] = h[k] ;
    h[k] = idx ++ ;
}

//查询
bool find(int x){
    int k = (x % maxn + maxn) % maxn ;
    for(int i = h[k] ; i != -1 ; i = ne[i]){
        if (e[i] == x) {
            return true;
        }
    }

    return false ;
}

int main() {
    int n ;
    scanf("%d" , &n) ;

    for(int i = 0 ;  i < maxn ; i++ ) {
        //把所有的槽清空
        h[i] = -1 ;
    }
    while(n--){
        char op[2] ;
        int x ;
        scanf("%s%d" , op , &x);
        if(op[0] == 'I') {
            insert(x);
        }else{
            if(find(x)){
                puts("Yes");
            } else {
                puts("No");
            }
        }
    }

    return 0 ;

}